// SPDX-License-Identifier: SOME IDENTIFIER
pragma solidity ^0.8.10;
interface SomeInterface1 {
function someFunction1() external pure returns(string
memory);
}
interface SomeInterface2 {
function someFunction2() external pure returns(string
memory);
}
contract ImplementorContract is SomeInterface1,
SomeInterface2 {
function someFunction1() public override pure returns(string
memory) {
return “some message 1”;
}
function someFunction2() public override pure returns(string
memory) {
return “some message 2”;
}
}
2.5.22 Creating and Destroying Contracts
We can instantiate a contract from another contract just by using the
“new” keyword. Using the new keyword, we instantiate the new
instance of the contract and use that newly created contract
instance. Let’s do this with an example.
Deploy only the ClientContract and run invokeCallMe and watch how
the other contract works, even if not deployed, as shown in the
following example:
// SPDX-License-Identifier: SOME IDENTIFIER
pragma solidity ^0.8.10;
contract ServerContract {